package com.ruoyi.app.service;

import com.ruoyi.app.dto.ScanInsideDto;
import com.ruoyi.dto.PaymentDto;
import com.ruoyi.app.dto.PaymentParkCardDto;
import com.ruoyi.domain.ParkingInfo;
import com.ruoyi.dto.PaymentInsideDto;
import com.ruoyi.vo.ScanInOutCodeVo;
import com.ruoyi.wss.dahua.request.ScanInOutCodeRequest;
import com.ruoyi.wss.dahua.request.ScanOnSiteCodeRequest;
import com.ruoyi.wss.dahua.response.ScanOnSiteCodeResponse;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * App端Service接口
 * 
 * @author dongdong
 * @date 2025-08-20
 */
public interface IAppService {

    String getOpenidByCode(String code);

    String getXcxOpenidByCode(String code);

    ScanInOutCodeVo scanInOutCode(ScanInOutCodeRequest scanInOutCodeRequest);

    ScanInOutCodeVo scanInOutCodeV1(ScanInOutCodeRequest scanInOutCodeRequest);

    Map<String, String> payment(PaymentDto paymentDto);
    Map<String, String> paymentInside(PaymentInsideDto paymentInsideDto);

    Boolean paymentDiscount(PaymentDto paymentDto);

    Map<String, String> paymentParkCard(PaymentParkCardDto paymentParkCardDto);

    ParkingInfo getParkingInfoByCode(String platformId, String parkCode);

    ScanInOutCodeVo scanOnSiteCode(ScanInsideDto scanInsideDto);

    List<Map<String, Object>> getParkingSelect();

    String getParkCardAmount(Long parkId, Integer valid);

    BigDecimal getParkingFee(Long couponId, String carNum);
}
